#include "FloatSemanticHandler.h"

Float4SemanticHandler::Float4SemanticHandler(const std::string& inName, D3DXVECTOR4* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float4SemanticHandler::~Float4SemanticHandler()
{
}

void Float4SemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float4(*Value);
}
///////////////////////////////////////

Float3SemanticHandler::Float3SemanticHandler(const std::string& inName, D3DXVECTOR3* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float3SemanticHandler::~Float3SemanticHandler()
{
}

void Float3SemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float3(*Value);
}
///////////////////////////////////////

Float2SemanticHandler::Float2SemanticHandler(const std::string& inName, D3DXVECTOR2* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float2SemanticHandler::~Float2SemanticHandler()
{
}

void Float2SemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float2(*Value);
}
///////////////////////////////////////

FloatSemanticHandler::FloatSemanticHandler(const std::string& inName, float* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


FloatSemanticHandler::~FloatSemanticHandler()
{
}

void FloatSemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float(*Value);
}
///////////////////////////////////////

Float4ArraySemanticHandler::Float4ArraySemanticHandler(const std::string& inName, std::vector<D3DXVECTOR4>* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float4ArraySemanticHandler::~Float4ArraySemanticHandler()
{
}

void Float4ArraySemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float4Array(*Value);
}
///////////////////////////////////////

Float3ArraySemanticHandler::Float3ArraySemanticHandler(const std::string& inName, std::vector<D3DXVECTOR3>* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float3ArraySemanticHandler::~Float3ArraySemanticHandler()
{
}

void Float3ArraySemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float3Array(*Value);
}
///////////////////////////////////////

Float2ArraySemanticHandler::Float2ArraySemanticHandler(const std::string& inName, std::vector<D3DXVECTOR2>* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


Float2ArraySemanticHandler::~Float2ArraySemanticHandler()
{
}

void Float2ArraySemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_Float2Array(*Value);
}
///////////////////////////////////////

FloatArraySemanticHandler::FloatArraySemanticHandler(const std::string& inName, std::vector<float>* inValue)
	: BaseSemanticHandler(inName)
	, Value(inValue)
{
}


FloatArraySemanticHandler::~FloatArraySemanticHandler()
{
}

void FloatArraySemanticHandler::OnHandle(IShader* inShader, IShaderParameter* inParameter)
{
	inParameter->set_FloatArray(*Value);
}
///////////////////////////////////////